﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Auto Resize TextBox</title>
<meta name="GENERATOR" content="WinCHM">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>

<body><FONT color=#0000ff size=2>
<P><FONT face=Courier>private</FONT></FONT><FONT face=Courier><FONT size=2> 
</FONT><FONT color=#0000ff size=2>void</FONT><FONT size=2> 
autoResizeText(</FONT><FONT color=#2b91af size=2>TextBox</FONT></FONT><FONT 
size=2><FONT face=Courier> tbSender)</FONT><FONT face=Courier>{</FONT></P>
<P></FONT><FONT face=Courier><FONT color=#2b91af size=2>&nbsp;&nbsp;&nbsp;&nbsp; 
Size</FONT><FONT size=2> 
sz = </FONT><FONT color=#0000ff size=2>new</FONT><FONT size=2> </FONT><FONT 
color=#2b91af size=2>Size</FONT><FONT size=2>(tbSender.ClientSize.Width, 
</FONT><FONT color=#0000ff size=2>int</FONT></FONT><FONT size=2><FONT 
face=Courier>.MaxValue);</FONT></P>
<P></FONT><FONT color=#008000 size=2><FONT face=Courier>&nbsp;&nbsp;&nbsp;&nbsp; //Size sz = new 
Size(this.Width/2, int.MaxValue);</FONT></P></FONT><FONT size=2>
<P></FONT><FONT face=Courier><FONT color=#2b91af 
size=2>&nbsp;&nbsp;&nbsp;&nbsp; 
TextFormatFlags</FONT><FONT size=2> flags = </FONT><FONT color=#2b91af 
size=2>TextFormatFlags</FONT></FONT><FONT size=2><FONT 
face=Courier>.WordBreak;</FONT></P>
<P></FONT><FONT face=Courier color=#0000ff size=2>&nbsp;&nbsp;&nbsp;&nbsp; int</FONT><FONT size=2><FONT 
face=Courier> padding =   3;</FONT></P>
<P></FONT><FONT face=Courier color=#0000ff size=2>&nbsp;&nbsp;&nbsp;&nbsp; int</FONT><FONT size=2><FONT 
face=Courier> borders =   tbSender.Height - tbSender.ClientSize.Height;</FONT></P>
<P><FONT face=Courier>&nbsp;&nbsp;&nbsp;&nbsp; sz = </FONT></FONT><FONT face=Courier color=#2b91af 
size=2>TextRenderer</FONT><FONT size=2><FONT 
face=Courier>.MeasureText(tbSender.Text, tbSender.Font, sz, flags);</FONT></P>
<P></FONT><FONT face=Courier color=#0000ff size=2>&nbsp;&nbsp;&nbsp;&nbsp; int</FONT><FONT size=2><FONT 
face=Courier> h = sz.Height + borders + padding;</FONT></P>
<P></FONT><FONT face=Courier><FONT color=#2b91af size=2>&nbsp;&nbsp;&nbsp;&nbsp; 
Console</FONT><FONT 
size=2>.WriteLine(</FONT><FONT color=#a31515 size=2>"h = "</FONT></FONT><FONT 
size=2><FONT face=Courier> + h);</FONT></P>
<P></FONT><FONT face=Courier><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp;&nbsp; 
if</FONT><FONT size=2> 
(tbSender.Top + h &gt; </FONT><FONT color=#0000ff size=2>this</FONT></FONT><FONT 
size=2><FONT face=Courier>.ClientSize.Height - 10)</FONT><FONT face=Courier>{</FONT></P>
<P><FONT face=Courier>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h =  </FONT></FONT><FONT face=Courier color=#0000ff 
size=2>this</FONT><FONT size=2><FONT face=Courier>.ClientSize.Height - 10 - 
tbSender.Top;</FONT></P>
<P><FONT face=Courier>&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></P>
<P><FONT face=Courier>&nbsp;&nbsp;&nbsp;&nbsp; tbSender.Height = h;</FONT></P>
<P><FONT face=Courier></FONT></P>
<P><FONT face=Courier>}</FONT></P></FONT></body>
</html>
